1. Technical Field
The present invention relates to a system and method for a non-sequential undo mechanism. More particularly, the present invention relates to a system and method for removing a selected action from a program log without removing actions successive to the selected action from the program log that, as a result, undoes an action to a file without undoing subsequent actions to the file.
2. Description of the Related Art
Software applications use a program log to track user actions and resultant program states. For example, a document creation application's program log may store user actions such as text addition, text formatting, and page break insertions. The software application uses the program log to allow the user to “undo” prior user actions. For example, a user may have formatted a paragraph and wish to undo to the paragraph formatting.
A challenge found with existing art, however, is that existing art does not allow a user to remove a particular action that occurred after the particular action up to a current state. Using the example discussed above, if the user inserts a page break and enters text after the paragraph formatting, the software application must first undo the text addition and the page break before undoing the paragraph formatting. This approach is cumbersome to the user because the user has to “redo” many actions that had to be removed (e.g., rewrite text, etc.) due to the limited capabilities of existing art.
What is needed, therefore, is a system and method that allows a user to undo an action to a file without having to undo subsequent actions to the file.